home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Programming / tek / mem / poolfree.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-12  |  505 b   |  32 lines

  1.  
  2. #include "tek/mem.h"
  3.  
  4. /* 
  5. **    TEKlib
  6. **    (C) 2001 TEK neoscientists
  7. **    all rights reserved.
  8. **
  9. **    TVOID TPoolFree(TAPTR mp, TAPTR mem)
  10. **
  11. **    return allocation to a pool.
  12. **
  13. */
  14.  
  15. TVOID TPoolFree(TAPTR mp, TAPTR mem)
  16. {
  17.     if (mp && mem)
  18.     {
  19.         TMEMPOOL *pool = (TMEMPOOL *) mp;
  20.         TPOOLNODE **mem2 = (TPOOLNODE **) mem;
  21.         TPOOLNODE *pn = *(--mem2);
  22.         
  23.         TStaticFree(&pn->memhead, mem2);
  24.  
  25.         if (pn->memhead.freesize == pn->numbytes)
  26.         {
  27.             TRemove((TNODE *) pn);
  28.             TMMUFree(pool->handle.mmu, (TAPTR) pn);
  29.         }
  30.     }
  31. }
  32.